﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SimpleServiceBus.Utilities.ObjectBuilder
{
    public interface IObjectBuilderService
    {
        T BuildObject<T>() where T:class;
        object BuildObject(Type typeToBuild);

        ServiceType BuildService<ServiceType, DefaultImplementation>()
            where ServiceType : class
            where DefaultImplementation : class,ServiceType;

        void RegisterSingleton<T>(T implementation);
    }
}
